package com.ml.framework.core.dao;

import org.hibernate.SessionFactory;
import org.springside.modules.orm.hibernate.HibernateDao;

public class BaseHibernateDao<T> extends HibernateDao<T, Long>
{
	public BaseHibernateDao(SessionFactory sessionFactory, Class<T> entityClass)
	{
		super(sessionFactory, entityClass);
	}

	public void update(T entity)
	{
		getSession().update(entity);
	}

	/**
	 * 父类的get有问题，原因未知，覆盖get方法，使用findUniqueBy替换
	 */
	@Override
	public T get(Long id)
	{
		return this.findUniqueBy("id", id);
	}

	/**
	 * 执行原生SQL语句进行(新增、删除、修改)
	 * 
	 * @param queryString
	 * @return
	 */
	public int executeUpdate(final String sql)
	{
		return this.getSession().createSQLQuery(sql).executeUpdate();
	}
}
